session["counter"] csdn

来源:百度知道 编辑:UC知道 时间:2024/05/24 01:00:05
我做了一个判断,如果超过三次错误登陆后,那么必须等半个小时后也允许继续登陆。

请问具体功能该怎么实现?????

在表里面加字段PK_error和pk_errortime
每错误一次。+1。
当PK_error=3时候。pk_errortime=当前时间(这项很重要)
用户无法登陆。
所以
每一次登陆前,
if ( pk_error==3).
{
if(pk_errortime与当前系统差值时间<=30分钟)
{
…………无法登陆!
}
}
else
{
if(pk_errortime与当前系统差值时间>30分钟)
{

}
}

在DB里,用户表中加2个字段,就是登录失败次数和登录失败时间

程序里,用户登录时,先判断这个失败时间是否为空,为空就进行验证,不为空就看失败时间和现在时间之差是否超过半小时,超过就直接报错

没有超过就进行验证
登录成功,就把登录失败次数和登录失败时间清空
登录失败:
每次失败都对登录失败次数加1
用户第三次登录失败后记录登录失败时间为当前时间

我想登陆失败次数应该放在Session中实现,如果放在数据库字段里今天登陆两次失败了,明天就只能登陆一次了,所以我认为放在Session中比较合适.失败时间就在原有用户表后加一字段,如ThinkIBM所说.

session里不行
放在COOKIE里也许可以实现
SESSION一旦客户端关闭浏览器就丢失了
而COOKIE不会的